home *** CD-ROM | disk | FTP | other *** search
/ Exploring Creation with P…al Science (2nd Edition) / Exploring Creation with Physical Science (2nd Edition).iso / exe / bin / mplayerc.exe / FILE / 716 < prev   
Encoding:
Text File  |  2012-12-18  |  1.3 KB  |  52 lines

  1. sampler s0 : register(s0); 
  2. float4 p0 : register(c0); 
  3. float4 p1 : register(c1); 
  4.  
  5. #define width (p0[0]) 
  6. #define height (p0[1]) 
  7.  
  8. #define dx (p1[0]) 
  9. #define dy (p1[1]) 
  10.  
  11. float4 main( float2 tex : TEXCOORD0 ) : COLOR 
  12.    float4 ori; 
  13.    float4 flou; 
  14.    float4 cori; 
  15.    float4 final; 
  16.  
  17.    ori = tex2D(s0, tex); 
  18.    float4 c1 = tex2D(s0, tex + float2(-dx,-dy)); 
  19.    float4 c2 = tex2D(s0, tex + float2(0,-dy)); 
  20.    float4 c3 = tex2D(s0, tex + float2(dx,-dy)); 
  21.    float4 c4 = tex2D(s0, tex + float2(-dx,0)); 
  22.    float4 c5 = tex2D(s0, tex + float2(dx,0)); 
  23.    float4 c6 = tex2D(s0, tex + float2(-dx,dy)); 
  24.    float4 c7 = tex2D(s0, tex + float2(0,dy)); 
  25.    float4 c8 = tex2D(s0, tex + float2(dx,dy)); 
  26.  
  27.    flou = (c1+c3+c6+c8 + 2*(c2+c4+c5+c7)+ 4*ori)*0.0625; 
  28.  
  29.    cori = 2*ori - flou; 
  30.  
  31.    float delta1; 
  32.    float delta2; 
  33.    float value; 
  34.  
  35.    delta1 =  (c3 + 2*c5 + c8)-(c1 + 2*c4 + c6); 
  36.    delta2 = (c6 + 2*c7 + c8)-(c1 + 2*c2 + c3); 
  37.  
  38.    value = sqrt( mul(delta1,delta1) + mul(delta2,delta2) ) ; 
  39.  
  40.    if( value >.3 ) 
  41.    { 
  42. #define Sharpen_val0       2.0 
  43. #define Sharpen_val1       0.125 
  44.       final = ori*2 - (c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 ) * 0.125 ; 
  45.       return final; 
  46.    } 
  47.    else 
  48.    { 
  49.       return cori; 
  50.    } 
  51. }